package com.vt.exel.pattern;

import java.util.ArrayList;
import java.util.List;

/**
 * 
 * @author Vit Класс, который задает параметры, с каких листов, столбов итп считывать нужные параметры
 */
public class PatternReadFromSheets {
	/**
	 * Коллекция с паттернами
	 */
	private List<SheetPattern> pattern = new ArrayList<SheetPattern>();

	/**
	 * Команда ввода паттерна считывания с одного exel листа
	 * 
	 * @param sheetNo Номер листа(Начинается с 0)
	 * @param codeNo Номер где содержится код (Начинается с 0), если код разделен на 2 столбца, то так же вноситься первая цифра
	 * @param codeDuality true - Если код раздвоен по двум столбам, false - если код в одном столбе
	 * @param volumeNo Номер, где содержится объем; (Начинается с 0)
	 * @param weightNo Номер, где содержится вес; (Начинается с 0)
	 */
	public void addSheetMetrics(int sheetNo, int codeNo, boolean codeDuality, int volumeNo, int weightNo) {
		pattern.add(sheetNo, new SheetPattern(codeNo, codeDuality, volumeNo, weightNo));
	}

	public int getCodeNo(int index) {
		return pattern.get(index).getCodeNo();
	}

	public boolean isCodeDuality(int index) {
		return pattern.get(index).isCodeDuality();
	}

	public int getVolumeNo(int index) {
		return pattern.get(index).getVolumeNo();
	}

	public int getWeightNo(int index) {
		return pattern.get(index).getWeightNo();
	}

	public int numberOfSheets() {
		return pattern.size();
	}
	private class SheetPattern {
		private int codeNo;
		private boolean codeDuality;
		private int volumeNo;
		private int weightNo;

		public int getCodeNo() {
			return codeNo;
		}

		public boolean isCodeDuality() {
			return codeDuality;
		}

		public int getVolumeNo() {
			return volumeNo;
		}

		public int getWeightNo() {
			return weightNo;
		}

		public SheetPattern(int codeNo, boolean codeDuality, int volumeNo, int weightNo) {
			super();
			this.codeNo = codeNo;
			this.codeDuality = codeDuality;
			this.volumeNo = volumeNo;
			this.weightNo = weightNo;
		}

		private SheetPattern() {
		}
	}
}
